javascript rules and best practices